/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package sys.screen;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.sql.SQLException;
import java.text.NumberFormat;
import javax.swing.SwingWorker;
import org.ini4j.Ini;
import org.ini4j.Wini;
import sys.bean.ProdutoBean;
import sys.bean.RomaneioBean;
import sys.dao.RomaneioDao;
import sys.dao.ProdutoDao;
import sys.utils.FileConfig;
import sys.utils.Mensagens;
import static sys.utils.Utils.dirFileTraco;

/**
 *
 * @author Administrador
 */
public class CCadastroTracoProduto extends javax.swing.JDialog {

    ProdutoBean produto;
    ProdutoDao daoProduto = new ProdutoDao();
    RomaneioDao daoRomaneio = new RomaneioDao();

    Double tracoPedra;
    Double tracoPedrisco;
    Double tracoAreia;
    Double tracoCimento;
    Double tracoAditivo;
    Double tracoAgua;
    int idRomaneio;

    Ini ini = null;
    Wini wini = null;
    NumberFormat formatoMoeda = NumberFormat.getCurrencyInstance();

    private CCarregarPedido pai;

    public CCadastroTracoProduto(CCarregarPedido parent, boolean modal) {
        super(parent, modal);
        initComponents();
        pai = parent;
        setLocationRelativeTo(null);
        jpDadosProduto.setVisible(false);
    }

    public CCadastroTracoProduto(java.awt.Frame parent, boolean modal) {
        super(parent, modal);
        initComponents();
        setLocationRelativeTo(null);
        FileConfig.createFileTraco();
    }

    private String formatoMoeda(double valor) {
        return formatoMoeda.format(valor).replace("R$", "");
    }

    public void carregaTracos(double pedra, double pedrisco, double areia, double cimento, double aditivo, double agua, int id) {
        tracoPedra = pedra;
        tracoPedrisco = pedrisco;
        tracoAreia = areia;
        tracoCimento = cimento;
        tracoAditivo = aditivo;
        tracoAgua = agua;
        idRomaneio = id;

        txPedra.setText(pedra + "");
        txPedrisco.setText(pedrisco + "");
        txAreia.setText(areia + "");
        txCimento.setText(cimento + "");
        txAditivo.setText(aditivo + "");
        txAgua.setText(agua + "");

    }

    private RomaneioBean retObjetoTracos() {
        RomaneioBean romaneio = new RomaneioBean();

        romaneio.setTracoGeradoPedra(tracoPedra);
        romaneio.setTracoGeradoPedrisco(tracoPedrisco);
        romaneio.setTracoGeradoAreia(tracoAreia);
        romaneio.setTracoGeradoCimento(tracoCimento);
        romaneio.setTracoGeradoAditivo(tracoAditivo);
        romaneio.setTracoGeradoAgua(tracoAgua);

        romaneio.setTracoUtilizadiPedra(Double.parseDouble(txPedra.getText()));
        romaneio.setTracoUtilizadiPedrisco(Double.parseDouble(txPedrisco.getText()));
        romaneio.setTracoUtilizadiAreia(Double.parseDouble(txAreia.getText()));
        romaneio.setTracoUtilizadiCimento(Double.parseDouble(txCimento.getText()));
        romaneio.setTracoUtilizadiAditivo(Double.parseDouble(txAditivo.getText()));
        romaneio.setTracoUtilizadiAgua(Double.parseDouble(txAgua.getText()));

        romaneio.setIdRomaneio(idRomaneio);

        return romaneio;

    }

    public void carregaProduto() {
        try {
            produto = daoProduto.produtoMySQL(Integer.parseInt(txCodigoProduto.getText()));
            txDescricaoProduto.setText(produto.getDescricao());
            txUnidade.setText(produto.getUn());
            if (produto.getSituacao().equals("A")) {
                cbSituacao.removeAllItems();
                cbSituacao.addItem("ATIVO");
            } else {
                cbSituacao.removeAllItems();
                cbSituacao.addItem("INATIVO");
            }
        } catch (SQLException ex) {
            Mensagens.msgErro("erro ao carregar dados do produto\n" + ex.getMessage());
        }
    }

    public void carregaTraco() {
        try {
            ini = new Ini(new FileInputStream(new File(dirFileTraco())));
            txPedra.setText(ini.get(txCodigoProduto.getText(), "PEDRA"));
            txPedrisco.setText(ini.get(txCodigoProduto.getText(), "PEDRISCO"));
            txAreia.setText(ini.get(txCodigoProduto.getText(), "AREIA"));
            txCimento.setText(ini.get(txCodigoProduto.getText(), "CIMENTO"));
            txAditivo.setText(ini.get(txCodigoProduto.getText(), "ADITIVO"));
            txAgua.setText(ini.get(txCodigoProduto.getText(), "AGUA"));

        } catch (IOException ex) {
            Mensagens.msgErro("erro\n" + ex.getMessage());
        }
    }

    private void salvar() {
        try {
            wini = new Wini();
            String dir = dirFileTraco();
            File iniFile = new File(dir);

            wini.load(iniFile);

            wini.add("[" + Integer.parseInt(txCodigoProduto.getText()) + "]\n");
            wini.add(Integer.parseInt(txCodigoProduto.getText()) + "", "PEDRA", txPedra.getText());
            wini.add(Integer.parseInt(txCodigoProduto.getText()) + "", "PEDRISCO", txPedrisco.getText());
            wini.add(Integer.parseInt(txCodigoProduto.getText()) + "", "AREIA", txAreia.getText());
            wini.add(Integer.parseInt(txCodigoProduto.getText()) + "", "CIMENTO", txCimento.getText());
            wini.add(Integer.parseInt(txCodigoProduto.getText()) + "", "ADITIVO", txAditivo.getText());
            wini.add(Integer.parseInt(txCodigoProduto.getText()) + "", "AGUA", txAgua.getText());

            wini.store(iniFile);

        } catch (IOException ex) {
            Mensagens.msgErro("erro \n" + ex.getMessage());
        }
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jPanel1 = new javax.swing.JPanel();
        jpDadosProduto = new javax.swing.JPanel();
        jLabel1 = new javax.swing.JLabel();
        txCodigoProduto = new javax.swing.JTextField();
        jLabel2 = new javax.swing.JLabel();
        txDescricaoProduto = new javax.swing.JTextField();
        jLabel3 = new javax.swing.JLabel();
        txUnidade = new javax.swing.JTextField();
        jLabel4 = new javax.swing.JLabel();
        cbSituacao = new javax.swing.JComboBox();
        btnPesquisaProduto = new javax.swing.JButton();
        jPanel3 = new javax.swing.JPanel();
        jLabel5 = new javax.swing.JLabel();
        txPedra = new javax.swing.JTextField();
        jLabel6 = new javax.swing.JLabel();
        txPedrisco = new javax.swing.JTextField();
        jLabel9 = new javax.swing.JLabel();
        txAreia = new javax.swing.JTextField();
        jLabel10 = new javax.swing.JLabel();
        txCimento = new javax.swing.JTextField();
        jLabel11 = new javax.swing.JLabel();
        txAditivo = new javax.swing.JTextField();
        jLabel12 = new javax.swing.JLabel();
        txAgua = new javax.swing.JTextField();
        jPanel4 = new javax.swing.JPanel();
        btnSalvar = new javax.swing.JButton();
        btnSair = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        setTitle("TRACO DE PRODUTOS");

        jPanel1.setBackground(new java.awt.Color(255, 255, 255));

        jpDadosProduto.setBackground(new java.awt.Color(255, 255, 255));
        jpDadosProduto.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "DADOS DO PRODUTO:", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Calibri", 0, 10))); // NOI18N

        jLabel1.setFont(new java.awt.Font("Calibri", 0, 11)); // NOI18N
        jLabel1.setText("CÓDIGO:");

        txCodigoProduto.setBackground(new java.awt.Color(245, 245, 245));
        txCodigoProduto.setFont(new java.awt.Font("Calibri", 0, 12)); // NOI18N
        txCodigoProduto.setForeground(new java.awt.Color(0, 0, 255));
        txCodigoProduto.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txCodigoProduto.setBorder(null);
        txCodigoProduto.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txCodigoProdutoActionPerformed(evt);
            }
        });

        jLabel2.setFont(new java.awt.Font("Calibri", 0, 11)); // NOI18N
        jLabel2.setText("DESCRIÇÃO:");

        txDescricaoProduto.setEditable(false);
        txDescricaoProduto.setBackground(new java.awt.Color(245, 245, 245));
        txDescricaoProduto.setFont(new java.awt.Font("Calibri", 0, 12)); // NOI18N
        txDescricaoProduto.setForeground(new java.awt.Color(0, 0, 255));
        txDescricaoProduto.setBorder(null);

        jLabel3.setFont(new java.awt.Font("Calibri", 0, 11)); // NOI18N
        jLabel3.setText("UNIDADE:");

        txUnidade.setEditable(false);
        txUnidade.setBackground(new java.awt.Color(245, 245, 245));
        txUnidade.setFont(new java.awt.Font("Calibri", 0, 12)); // NOI18N
        txUnidade.setForeground(new java.awt.Color(0, 0, 255));
        txUnidade.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txUnidade.setBorder(null);

        jLabel4.setFont(new java.awt.Font("Calibri", 0, 11)); // NOI18N
        jLabel4.setText("SITUAÇÃO:");

        cbSituacao.setFont(new java.awt.Font("Calibri", 0, 12)); // NOI18N
        cbSituacao.setForeground(new java.awt.Color(0, 0, 255));

        btnPesquisaProduto.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sys/picture/find-2.png"))); // NOI18N
        btnPesquisaProduto.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnPesquisaProdutoActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jpDadosProdutoLayout = new javax.swing.GroupLayout(jpDadosProduto);
        jpDadosProduto.setLayout(jpDadosProdutoLayout);
        jpDadosProdutoLayout.setHorizontalGroup(
            jpDadosProdutoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jpDadosProdutoLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jpDadosProdutoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(jLabel2)
                    .addGroup(jpDadosProdutoLayout.createSequentialGroup()
                        .addGroup(jpDadosProdutoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabel1)
                            .addGroup(jpDadosProdutoLayout.createSequentialGroup()
                                .addComponent(txCodigoProduto, javax.swing.GroupLayout.PREFERRED_SIZE, 85, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(btnPesquisaProduto, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jpDadosProdutoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(txUnidade, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel3))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jpDadosProdutoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(jpDadosProdutoLayout.createSequentialGroup()
                                .addGap(3, 3, 3)
                                .addComponent(cbSituacao, javax.swing.GroupLayout.PREFERRED_SIZE, 168, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addComponent(jLabel4)))
                    .addComponent(txDescricaoProduto))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        jpDadosProdutoLayout.setVerticalGroup(
            jpDadosProdutoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jpDadosProdutoLayout.createSequentialGroup()
                .addGroup(jpDadosProdutoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addGroup(jpDadosProdutoLayout.createSequentialGroup()
                        .addGroup(jpDadosProdutoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jpDadosProdutoLayout.createSequentialGroup()
                                .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED))
                            .addGroup(jpDadosProdutoLayout.createSequentialGroup()
                                .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(4, 4, 4)))
                        .addGroup(jpDadosProdutoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                            .addComponent(txCodigoProduto)
                            .addComponent(txUnidade)
                            .addComponent(btnPesquisaProduto, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGroup(jpDadosProdutoLayout.createSequentialGroup()
                        .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(cbSituacao)))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(txDescricaoProduto, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        jPanel3.setBackground(new java.awt.Color(255, 255, 255));
        jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "COMPOSIÇÃO DO CONCRETO:", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Calibri", 0, 10))); // NOI18N

        jLabel5.setFont(new java.awt.Font("Calibri", 0, 11)); // NOI18N
        jLabel5.setText("PEDRA BRITA N 1 - ( 3/8 ) - KG");

        txPedra.setBackground(new java.awt.Color(245, 245, 245));
        txPedra.setFont(new java.awt.Font("Calibri", 0, 12)); // NOI18N
        txPedra.setForeground(new java.awt.Color(0, 0, 255));
        txPedra.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txPedra.setBorder(null);

        jLabel6.setFont(new java.awt.Font("Calibri", 0, 11)); // NOI18N
        jLabel6.setText("PEDRISCO ( 5/8 ) - KG");

        txPedrisco.setBackground(new java.awt.Color(245, 245, 245));
        txPedrisco.setFont(new java.awt.Font("Calibri", 0, 12)); // NOI18N
        txPedrisco.setForeground(new java.awt.Color(0, 0, 255));
        txPedrisco.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txPedrisco.setBorder(null);

        jLabel9.setFont(new java.awt.Font("Calibri", 0, 11)); // NOI18N
        jLabel9.setText("AREIA LAVADA - KG");

        txAreia.setBackground(new java.awt.Color(245, 245, 245));
        txAreia.setFont(new java.awt.Font("Calibri", 0, 12)); // NOI18N
        txAreia.setForeground(new java.awt.Color(0, 0, 255));
        txAreia.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txAreia.setBorder(null);

        jLabel10.setFont(new java.awt.Font("Calibri", 0, 11)); // NOI18N
        jLabel10.setText("CIMENTO CAUE  - KG");

        txCimento.setBackground(new java.awt.Color(245, 245, 245));
        txCimento.setFont(new java.awt.Font("Calibri", 0, 12)); // NOI18N
        txCimento.setForeground(new java.awt.Color(0, 0, 255));
        txCimento.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txCimento.setBorder(null);

        jLabel11.setFont(new java.awt.Font("Calibri", 0, 11)); // NOI18N
        jLabel11.setText("ADITIVO - KG");

        txAditivo.setBackground(new java.awt.Color(245, 245, 245));
        txAditivo.setFont(new java.awt.Font("Calibri", 0, 12)); // NOI18N
        txAditivo.setForeground(new java.awt.Color(0, 0, 255));
        txAditivo.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txAditivo.setBorder(null);

        jLabel12.setFont(new java.awt.Font("Calibri", 0, 11)); // NOI18N
        jLabel12.setText("AGUA - KG");

        txAgua.setBackground(new java.awt.Color(245, 245, 245));
        txAgua.setFont(new java.awt.Font("Calibri", 0, 12)); // NOI18N
        txAgua.setForeground(new java.awt.Color(0, 0, 255));
        txAgua.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txAgua.setBorder(null);

        javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
        jPanel3.setLayout(jPanel3Layout);
        jPanel3Layout.setHorizontalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel3Layout.createSequentialGroup()
                .addGap(27, 27, 27)
                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(jLabel9)
                    .addComponent(jLabel6)
                    .addComponent(jLabel5, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(txPedrisco)
                    .addComponent(txAreia)
                    .addComponent(txPedra, javax.swing.GroupLayout.PREFERRED_SIZE, 153, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(27, 27, 27)
                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(jLabel11)
                    .addComponent(jLabel10)
                    .addComponent(jLabel12)
                    .addComponent(txCimento)
                    .addComponent(txAditivo)
                    .addComponent(txAgua, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        jPanel3Layout.setVerticalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup()
                .addContainerGap(15, Short.MAX_VALUE)
                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel3Layout.createSequentialGroup()
                        .addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(6, 6, 6)
                        .addComponent(txPedra, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jLabel6, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(txPedrisco, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jLabel9, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(txAreia, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(jPanel3Layout.createSequentialGroup()
                        .addComponent(jLabel10, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(6, 6, 6)
                        .addComponent(txCimento, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jLabel11, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(txAditivo, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jLabel12, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(txAgua, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap())
        );

        jPanel4.setBackground(new java.awt.Color(255, 255, 255));
        jPanel4.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(204, 204, 204)));

        btnSalvar.setFont(new java.awt.Font("Calibri", 0, 13)); // NOI18N
        btnSalvar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sys/picture/salvar.png"))); // NOI18N
        btnSalvar.setText("SALVAR");
        btnSalvar.setPreferredSize(new java.awt.Dimension(120, 30));
        btnSalvar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnSalvarActionPerformed(evt);
            }
        });
        jPanel4.add(btnSalvar);

        btnSair.setFont(new java.awt.Font("Calibri", 0, 13)); // NOI18N
        btnSair.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sys/picture/sair.png"))); // NOI18N
        btnSair.setText("SAIR");
        btnSair.setPreferredSize(new java.awt.Dimension(120, 30));
        btnSair.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnSairActionPerformed(evt);
            }
        });
        jPanel4.add(btnSair);

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jpDadosProduto, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jPanel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jPanel3, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addContainerGap())
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jpDadosProduto, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGap(1, 1, 1)
                .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void btnPesquisaProdutoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnPesquisaProdutoActionPerformed
        UIPesquisaProduto pProduto = new UIPesquisaProduto(this, true);
        pProduto.setVisible(true);
    }//GEN-LAST:event_btnPesquisaProdutoActionPerformed

    private void btnSalvarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnSalvarActionPerformed
        /*
        Se pai for null, salva as configurações no arqivo .ini
        */
        if (pai == null) {
            final BarraProgresso pb = new BarraProgresso(this);
            SwingWorker worker = new SwingWorker() {

                @Override
                protected Object doInBackground() throws Exception {
                    pb.gerarJanela();
                    pb.lbDescricao.setText("SALVANDO CONFIGURAÇÕES, AGUARDE...");
                    salvar();
                    return null;
                }

                @Override
                protected void done() {
                    pb.fechar();
                }
            };
            worker.execute();
        } else {
            /*
            salvando traços no banco
            */
            try {
                daoRomaneio.atualizaTracos(retObjetoTracos());
                pai.tela = 1;
                pai.txImpressao.setText(pai.gerarImpressao());
                this.dispose();
            } catch (SQLException ex) {
                Mensagens.msgErro("erro ao atualizar traços\n" + ex.getMessage());
                ex.printStackTrace();
            }
        }


    }//GEN-LAST:event_btnSalvarActionPerformed

    private void btnSairActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnSairActionPerformed
        this.dispose();
    }//GEN-LAST:event_btnSairActionPerformed

    private void txCodigoProdutoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_txCodigoProdutoActionPerformed
        if (txCodigoProduto.getText().equals("")) {
            UIPesquisaProduto pProduto = new UIPesquisaProduto(this, true);
            pProduto.setVisible(true);
        } else {
            carregaProduto();
            carregaTraco();
        }
    }//GEN-LAST:event_txCodigoProdutoActionPerformed


    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton btnPesquisaProduto;
    private javax.swing.JButton btnSair;
    private javax.swing.JButton btnSalvar;
    private javax.swing.JComboBox cbSituacao;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel10;
    private javax.swing.JLabel jLabel11;
    private javax.swing.JLabel jLabel12;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JLabel jLabel9;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JPanel jPanel4;
    private javax.swing.JPanel jpDadosProduto;
    private javax.swing.JTextField txAditivo;
    private javax.swing.JTextField txAgua;
    private javax.swing.JTextField txAreia;
    public javax.swing.JTextField txCimento;
    public javax.swing.JTextField txCodigoProduto;
    private javax.swing.JTextField txDescricaoProduto;
    public javax.swing.JTextField txPedra;
    private javax.swing.JTextField txPedrisco;
    private javax.swing.JTextField txUnidade;
    // End of variables declaration//GEN-END:variables
}
